|
|
Whilst attempting to debug Zeger's greebles.inc I managed to produce the
attached - definitely "under construction". Also attached both pov and
megapov output for unmodified Zeger code
Now for the bit that is likely to provoke a few flames
#declare FLAMEPROOF_UNDERWEAR=true;
First thing to be spotted
#macro RoundPrism(Points,R,H)
#local Aantal=dimension_size(Points,1);
#local Tel=0;
#local Aantal2=Aantal;
#local Points2=array[Aantal];
-- CUT --
BLAH
-- CUT --
#if (Aantal2>2)
polygon {
Aantal2,
#local Tel=0;
#while (Tel<Aantal)
#ifdef(Points2[Tel])
<Points2[Tel].x,Points2[Tel].y>
#end
#local Tel=Tel+1;
#end
translate -z*H
}
#end
rotate x*90
}
#end
Surely there's a fencepost error here. If I wish to produce an n-sided
polygon, I need n+1 (Antaal+1) points.
Possibly -
polygon {
Aantal2,
#local Tel=0;
#while (Tel<Aantal+1) //Umm....why are we using Antaal
instead of Antaal2??
#ifdef(Points2[Tel])
<Points2[Tel].x,Points2[Tel].y>,
#end
#local Tel=Tel+1;
<Points2[0].x,Points2[0].y>
#end
translate -z*H
}
-would work and prevent the "polygon not closed" warnings
Secondly (and to my eyes this a BIG problem) why is the macro
VerdeelSuperellipsoid calling itself?
#macro
VerdeelSuperellipsoid(Rx,Ry,Rz,n1,n2,F1,F2,B1,B2,Bevel,BevelHeight,StepF,StepB,Diepte)
#if (Diepte<0)
#local Scale=BevelHeight*(.5+rand(Seed)*.5);
SuperEllipsoidSegment(Rx,Ry,Rz,n1,n2,F1,F2,B1,B2,Bevel,Scale,StepF,StepB)
#ifndef (Detail) #local Detail=5; #end
SuperEllipsoidGreeble(Rx,Ry,Rz,n1,n2,F1,F2,B1,B2,Bevel,Scale,Detail,StepF,StepB)
#else
#local PercentageU=.5+(rand(Seed)-rand(Seed))*.5*.6;
#local PercentageV=.5+(rand(Seed)-rand(Seed))*.5*.6;
#local FM=F1+(F2-F1)*PercentageU;
#local BM=B1+(B2-B1)*PercentageV;
XXXX
VerdeelSuperellipsoid(Rx,Ry,Rz,n1,n2,F1,FM,B1,BM,Bevel,BevelHeight,StepF,StepB,Verlaag(Diepte))
XXXX
VerdeelSuperellipsoid(Rx,Ry,Rz,n1,n2,FM,F2,B1,BM,Bevel,BevelHeight,StepF,StepB,Verlaag(Diepte))
XXXX
VerdeelSuperellipsoid(Rx,Ry,Rz,n1,n2,F1,FM,BM,B2,Bevel,BevelHeight,StepF,StepB,Verlaag(Diepte))
XXXX
VerdeelSuperellipsoid(Rx,Ry,Rz,n1,n2,FM,F2,BM,B2,Bevel,BevelHeight,StepF,StepB,Verlaag(Diepte))
#end
#end
Enlightenment needed.
#declare FLAMEPROOF_UNDERWEAR=false;
John
--
"Please refrain from fondling the nymphs and sprites - it makes them giggly
and skittish.
Thank you for your co-operation.
The Management"
Post a reply to this message
Attachments:
Download 'greebletest.jpg' (130 KB)
Download 'greebletest.txt' (5 KB)
Download 'greebletestpov.txt' (4 KB)
Preview of image 'greebletest.jpg'
|
|